import api from '../index'

/**
 * 文创合作记录接口定义
 */
export interface Cooperation {
  cooperateId: number // 主键，文创合作记录唯一标识
  ip: string // 来源IP
  ipEn: string
  cooperateName: string // 合作方名称
  cooperateNameEn: string // 合作方英文名称
  userId: number // 用户id
  contact: 0 | 1 // 标记：0-未联系，1-已联系
  createdAt: string // 记录时间，格式为 'YYYY-MM-DD HH:MM:SS'
  describ: string // 详细信息
  describEn: string // 详细信息英文
  phonenumber: string // 联系电话
}

export default {
  /**
   * 新增一条文创合作记录
   * @param data - 需要新增的合作记录数据（不含主键）
   */
  create: (data: Omit<Cooperation, 'cooperateId'>) =>
    api.post('/system/cooperation/add', data),

  /**
   * 删除指定的文创合作记录
   * @param id - 合作记录唯一标识（cooperateId）
   */
  delete: (id: number) =>
    api.get('/system/cooperation/del', {
      params: {
        cooperateId: id,
      },
    }),

  /**
   * 获取单条文创合作记录详情
   * @param id - 合作记录唯一标识（cooperateId）
   * @returns Promise<Cooperation>
   */
  detail: (id: number) =>
    api.get<Cooperation>('/system/cooperation/getInfo', {
      params: {
        cooperateId: id,
      },
    }),

  /**
   * 编辑已有文创合作记录
   * @param data - 需要更新的合作记录数据（含主键）
   */
  edit: (data: Cooperation) =>
    api.post('/system/cooperation/edit', data),

  /**
   * 获取文创合作记录列表
   * @returns Promise<Cooperation[]>
   */
  list: (data: { cooperateName?: string, phonenumber?: string, nickName?: string, page?: number, size?: number }) =>
    api.get<Cooperation[]>('/system/cooperation/list', {
      params: {
        cooperateName: data.cooperateName,
        phonenumber: data.phonenumber,
        nickName: data.nickName,
        pageSize: data.size,
        pageNum: data.page,
      },
    }),
}
